package com.ruicar.afs.cloud.apply.channel.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>Description: </p>
 *
 * @author ZC.GUO
 * @version 1.0
 * @date create on 2020-05-26 23:05
 */

@Data
@TableName("channel_affiliated_units")
public class ChannelAffiliatedUnits implements Serializable {
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    /** ID */
    private Long id;
    /**
     * 业务类型;1-第三方公司挂靠;2-网约车
     */
    private String busiType;
    /**
     * 公司名称;第三方公司挂靠：挂靠公司名称；
     * 网约车：运营公司名称
     */
    private String affiliatedName;
    /**
     * 统一社会信用代码
     */
    private String socUniCrtCode;
    /**
     * 是否有道路运输许可证;是；否
     */
    private String whetherLicence;
    /**
     * 道路运输许可证有效期至
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date transPermitValidity;
    /**
     * 成立时间;业务类型为网约车：注册时间。
     * 业务类型为第三方公司挂靠：成立时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date foundedTime;
    /**
     * 法人代表人姓名
     */
    private String legalPersonName;
    /**
     * 法人联系方式;业务类型为第三方公司挂靠：法人联系方式
     * 业务类型为网约车：联系电话。
     */
    private String legalPersonTel;
    /**
     * 法人身份证号码
     */
    private String legalPersonIdcard;
    /**
     * 营业期限至;业务类型为网约车时：网约车合作有效期
     * 业务类型为第三方公司挂靠时：营业期限至
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date oprTermValidity;
    /**
     * 已运营年限
     */
    private Integer operationYears;
    /**
     * 状态;00 已启动\  01 审核中\  02 草稿\03退回\04 拒绝\ 05停用
     */
    private String status;
    /**
     * 运营年限是否长期;是/否
     */
    private String longTermOrNot;
    /**
     * 注册资本
     */
    private BigDecimal registeredCapital;
    /**
     * 注册省份
     */
    private String registeredProvince;
    /**
     * 注册城市
     */
    private String registeredCity;
    /**
     * 详细注册地址;业务类型为网约车时，存注册地址。业务类型为第三方公司挂靠时，存详细注册地址
     */
    private String registeredAddress;
    /**
     * 注册时间;业务类型为网约车时存注册时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date registeredTime;
    /**
     * 备案有效期至
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date termValidity;
    /**
     * 自有运营车辆数;第三方公司挂靠：自有运营车辆数
     * 网约车：在运营网约车数量
     */
    private Integer operateVehicles;
    /**
     * 经营状态;存续\在营\开业\在册
     */
    private String operateStatus;
    /**
     * 运营城市;业务类型为网约车的运营城市
     */
    private String operCity;
    /**
     * 人证完备数
     */
    private Integer peopleCardComplete;
    /**
     * 合作平台
     */
    private String cooperPlat;
    /**
     * 车证完备数
     */
    private Integer carCardComplete;
    /**
     * 人车证完备数
     */
    private Integer peoCarCardComplete;
    /**
     * 人证+车证完比例
     */
    private BigDecimal peoCarCardProportion;
    /**
     * 月申请单数
     */
    private Integer monthlyApplicationNum;
    /**
     * 总申请单数
     */
    private Integer totalApplicationNum;
    /**
     * 是否在库;是;否
     */
    private String inLibraryOrNot;
    /**
     * 预警值
     */
    private Integer warningValue;
    /**
     * 限额值
     */
    private Integer limitValue;
    /**
     * 申请时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date applyTime;
    /**
     * 创建人
     */
    private String createBy;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
    /**
     * 更新人
     */
    private String updateBy;
    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;
    /**
     * 删除标记
     */
    private String delFlag;
    /**
     * 月单剩余数
     */
    private Integer monthlySurplusNum;
    /**
     * 总单剩余数
     */
    private Integer totalSurplusNum;
}
